package com.suning.sawp.member.dao;

import java.util.List;

import com.suning.sawp.member.vo.ActivityCateStatisVo;
import com.suning.sawp.member.vo.ActivityClientStatisVo;
import com.suning.sawp.member.vo.ActivityEmpStatisVo;
import com.suning.sawp.member.vo.ActivityStatisVo;

/**
 * 
 * 活动统计dao<br> 
 *
 * @author 14060886 祝翔龙
 */
public interface ActivityStatisDao {

    /**
     * 
     * 功能描述: 店长查询所有外拓活动统计信息<br>
     *
     * @param storeCode
     * @param start
     * @param end
     * @return
     */
    public List<ActivityStatisVo> selectAllActivityStatisByStore(String storeCode, Integer start, Integer end);
    
    /**
     * 
     * 功能描述: 督导查询所有外拓活动统计信息<br>
     *
     * @param storeCode
     * @param cateCode
     * @param start
     * @param end
     * @return
     */
    public List<ActivityStatisVo> selectAllActivityStatisByCate(String storeCode, String cateCode, Integer start, Integer end);
    
    /**
     * 
     * 功能描述: 店员查询所有外拓活动统计信息<br>
     *
     * @param storeCode
     * @param employeeId
     * @param start
     * @param end
     * @return
     */
    public List<ActivityStatisVo> selectAllActivityStatisByEmp(String storeCode, String employeeId, Integer start, Integer end);
    
    /**
     * 
     * 功能描述:查询某活动统计信息<br>
     *
     * @param storeCode
     * @param activityId
     * @param source
     * @param mode
     * @return
     */
    public ActivityStatisVo selectActivityStatisByStore(String storeCode, String activityId, String source, String mode);
    
    /**
     * 
     * 功能描述: 查询某活动品类统计信息<br>
     *
     * @param storeCode
     * @param activityId
     * @param source
     * @param mode
     * @return
     */
    public List<ActivityCateStatisVo> selectCateStatisByStore(String storeCode, String activityId, String source, String mode);

    /**
     * 
     * 功能描述: 查询某活动品类统计信息<br>
     *
     * @param storeCode
     * @param activityId
     * @param cateCode
     * @param source
     * @param mode
     * @return
     */
    public ActivityCateStatisVo selectActivityStatisByCate(String storeCode, String activityId, String cateCode, String source, String mode);
    
   /**
    * 
    * 功能描述: 查询某品类店员统计信息<br>
    *
    * @param storeCode
    * @param activityId
    * @param cateCode
    * @param source
    * @param mode
    * @return
    */
    public List<ActivityEmpStatisVo> selectEmpStatisByCate(String storeCode, String activityId, String cateCode, String source, String mode);
    
    /**
     * 
     * 功能描述: 查询某活动店员统计信息<br>
     *
     * @param storeCode
     * @param activityId
     * @param cateCode
     * @param employeeId
     * @param source
     * @param mode
     * @return
     */
    public ActivityStatisVo selectActivityStatisByEmp(String storeCode, String activityId, String cateCode, String employeeId, 
            String source, String mode);
    
    /**
     * 
     * 功能描述: 查询某店员客户统计信息<br>
     *
     * @param storeCode
     * @param activityId
     * @param cateCode
     * @param employeeId
     * @param source
     * @param mode
     * @return
     */
     public List<ActivityClientStatisVo> selectClientStatisByEmp(String storeCode, String activityId, String cateCode,String employeeId, 
             String source, String mode, Integer start, Integer end);
    
    
}
